package com.yl.rabbitmq.day01;

import com.rabbitmq.client.Channel;
import com.yl.rabbitmq.utils.RabbitMQUtil;

/**
 * @author yangl
 */
public class Producer01 {
    //队列名称
    public static final String QUEUE_NAME = "hello";

    //发消息
    public static void main(String[] args) throws Exception{
        Channel channel = RabbitMQUtil.getChannel();
        /**
         * 生成一个队列
         * 1、队列名称
         * 2、队列里面的消息是否持久化（磁盘），默认情况下，消息存在内存中
         * 3、该队列是否只供一个消费者消费，是否进行消息共享，true：可以多个消费者消费，false：不允许多个消费者消费
         * 4、是否自动删除，最后一个消费者开连接之后，该队列是否自动删除，true：删除，false：不删除
         * 5、其他参数，比如延迟消息，死信消息
         */
        channel.queueDeclare(QUEUE_NAME, false, false, false, null);
        //发送消息
        String message = "hello world";
        /**
         * 发送一个消息
         * 1、发送到哪个交换机
         * 2、路由的key值是哪个，本次是队列名称
         * 3、其他参数信息
         * 4、发送的消息体
         */
        channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
        System.out.println("消息发送完毕");
    }
}
